Virtualization enables physical computing devices to run multiple and/or different operating systems and applications on the same computing device. A virtual machine is one implementation of virtualization, where a virtual machine is a virtual computer system that acts like a physical computer system by running an operating system and applications. Virtual machines include specification and configuration files and are backed by physical hardware resources.
Snapshots are used in a virtualization environment to preserve the state of a virtual machine at a particular time. For example, snapshots are useful when testing or debugging a virtual machine, allowing the administrator to revert to the same previous state and make changes to that state.